# Librairies utilisées
library(sf)
library(cartography)
library(mapsf)
# library(corrplot)
# library(cowplot)
# library(MTA)
library(readxl)
library(ggplot2)
# library(FactoMineR)
# library(factoextra)
# library(cluster)
library(reshape)
library(reshape2)
# library(flows)
# NB : Pour le package flows, la version la plus récente est disponible ici :
# remotes::install_github("rCarto/flows") ou # install.packages("mapsf")
# Pour obtenir une version plus ancienne (celle utilisée ici) : https://cran.r-project.org/src/contrib/Archive/flows/
# install.packages("packages/flows_1.1.1.tar.gz", repos=NULL, type="source")
# library(sp)
# library(knitr)
# library(condformat) # https://cran.r-project.org/web/packages/condformat/vignettes/introduction.html
# library(units)
# library(stringr)
# library(dplyr)
# library(questionr)
# library(spdep) # Pour les matrices de contiguïté
# library(rgeoda) # Pour les matrices de contiguïté
# Liste pour installer les packages si besoin :
# sf cartography mapsf readxl foreign dplyr flextable knitr stringr units condformat forcats ggplot2 rstatix questionr corrplot gtsummary broom GGally effects forestmodel ggeffects labelled cowplot spdep rgeoda
Les données utilisées sont une compilation de données principalement socio-économiques, localisées. La source principale est l’INSEE. Pour plus de détails, cf. le Markdown “Communes nouvelles : préparation des données”. NB : Ont été exclues des analyses l’Outre-mer et la Corse, espaces non concernés par les communes nouvelles.
Les géométries sont ici importées.
geom2011 <- st_read("data/geom.gpkg", layer = "geom2011", quiet = TRUE)
geom_new <- st_read("data/geom.gpkg", layer = "geom_new", quiet = TRUE)
geomfus2011 <- st_read("data/geom.gpkg", layer = "geomfus2011", quiet = TRUE)
geomCN_new <- st_read("data/geom.gpkg", layer = "geomCN_new", quiet = TRUE)
dep <- st_read("data/geom.gpkg", layer = "dep", quiet = TRUE)
# Métadonnées
# Liste toutes les variables disponiles
# variables_dispo <- as.data.frame(read_excel("data-raw/meta.xlsx", sheet = "ind_target"))
# Liste les variables marquées dans le fichier meta_budgets.xlsx comme nous intéressant
# target <- subset(variables_dispo, variable_selec == "X")
Les données socio-économiques qui décrivent les communes en
géographies 2011 et 2021 sont ici importées. On commence par extraire
les communes ayant participé à la création d’une commune nouvelle,
appelées ici communes fusionnantes (datafus2011), les
communes nouvelles, avec les géométries au 1er janvier 2021 et
caractérisées par les données à la géométrie 2011 agrégées
(dataCN_new), ainsi que les communes, à la géométrie 2011,
qui n’ont pas participé à la création d’une commune nouvelle
(dataNfus2011)
load("data/refdata.Rdata")
# datafus2011 <- subset(df2011, COM_NOUV == "OUI")
# dataCN_new <- subset(df_new, COM_NOUV == "OUI")
# dataNfus2011 <- subset(df2011, COM_NOUV == "NON")
Dans un certain nombre de cas, il sera utile d’avoir, dans un même objet, les données et les géométries. Les données sont ici jointes aux couches géographiques d’intérêt.
geom2011 <- merge(geom2011, df2011, by = "CODGEO")
geom_new <- merge(geom_new, df_new, by = "CODGEO_new")
# geomCN_new <- merge(geomCN_new, dataCN_new, by = "CODGEO_new")
# geomfus2011 <- merge(geomfus2011, datafus2011, by = "CODGEO")
Un certain nombre d’espaces peuvent être étudiés à part : certaines communes nouvelles car elles ont été l’objet d’une enquête qualitative (Bideau (2017), Bideau (2019)), d’autres car elles sont sur des territoires très touchés par les fusions communales. Ces sous-ensembles sont cartographiés dans la section 1.7.
testEdC <- subset (geom2011, CODGEO_new == "61324" | CODGEO_new =="73150" | CODGEO_new == "73006")
testEdCSavoie <- subset (geom2011, CODGEO_new =="73150" | CODGEO_new == "73006")
testNormandie <- subset (geom2011, REG == "23" | REG == "25") # Haute et Basse Normandie
test49 <- subset (geom2011, CODE_DEPT == "49" ) # Département du Maine-et-Loire
testOuest <- subset (geom2011, REG == "23" | REG == "25"| REG == "53"| REG == "52") # Normandies, Bretagne, Pays-de-la-Loire
Il y a peu de bases de données présentant l’évolution du nombre de communes depuis leur création lors de la Révolution française. En général, la question du changement de périmètre (perte ou acquisition de territoires, les territoires d’outre-rhin, Nice et la Savoie, Alsace-Moselle etc) n’est pas évoquée.
# 1793-1999
# Source : http://cassini.ehess.fr/fr/html/8_glossaire.php?d=BDCarto à la définition du nom "commune"
annees <- c(1793, 1800, 1806, 1876, 1936, 1968, 1975, 1999)
nbr_com <- c(40431, 40345, 40210, 37745, 38014, 37708, 36296, 36565)
# 1876 y compris l’Alsace-Lorraine
graph <- data.frame(annees, nbr_com)
# ajout données 2023 pour voir (sources INSEE, France métropolitaine + oute-mer)
graph[nrow(graph)+1, ] <- c(1982, 36433)
graph[nrow(graph)+1, ] <- c(2012, 36571)
graph[nrow(graph)+1, ] <- c(2023, 34945)
# plot(annees, nbr_com)
ggplot(data=graph, aes(x=annees, y=nbr_com)) +
geom_line() +
labs(title="Évolution du nombre de communes en France", subtitle="1793-2023", x="", y = "", caption="Source : cassini.ehess.fr")
ggplot(data=graph, aes(x=annees, y=nbr_com)) +
geom_line() +
ylim(0, 41000) +
labs(title="Évolution du nombre de communes en France", subtitle="1793-2023", x="", y = "", caption="Source : cassini.ehess.fr")
Le site Cassini a été créé par l’EHESS, permet de retrouver des évolutions très nombreuses concernant les communes françaises.
Lien donné par Nicolas Verdier (juillet 2023) : https://didomena.ehess.fr/concern/data_sets/6395wb092?locale=fr (base en cours d’attribution d’un DOI, possiblement réalisation d’un data paper).
Proposition d’une exploitation pour avoir quelques graphiques un peu propres.
# download.file("https://didomena.ehess.fr/downloads/kd17cw827?locale=fr", "data-raw/temps_long/lieux_cassini_devenus_communes.csv")
# Téléchargement effectué le 6 mars 2023
cassini <- read.csv("data-raw/temps_long/lieux_cassini_devenus_communes.csv",
sep=",", colClasses = "character", head = TRUE, stringsAsFactors = TRUE, fill = TRUE)
# Tentative de liaison entre la base cassini et la base DAC
load("Archives/data_prep 2011-2021(01)/data/refdata.Rdata")
cassini <- merge(cassini, df_new[, c("CODGEO_new", "NbrComFus")], by.x = "commune_mars_2021", by.y = "CODGEO_new")
# Attention, dans la base Cassini, les communes_mars_2021 sont présentes plusieurs fois
# La variable "departement_1999" permet de localiser l'ensemble des communes. Ce qui permet d'isoler certaines parties du territoire
# table(is.na(cassini$commune_mars_2021))
# Pour la commune de Vornay (Cher), la base indique "s" comme département. On remplace par "18".
cassini$nom_1999[which(cassini$departement_1999 == "s")]
## [1] "Vornay"
cassini$departement_1999[which(cassini$departement_1999 == "s")] <- 18
# On corrige simplement les départements avec un seul chiffre (1, 2, 3 etc) pour homogénéiser (transformés en 01, 02, 03 etc)
cassini$departement_1999 <- stringr::str_pad(cassini$departement_1999, 2, pad = "0")
table(cassini$departement_1999)
##
## 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
## 510 911 441 269 201 166 386 559 477 504 506 678 126 929 290 459
## 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33
## 544 330 339 759 401 408 721 703 419 872 473 310 398 671 697 613
## 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
## 389 375 297 325 618 765 393 332 368 304 231 372 472 448 206 428
## 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
## 695 723 559 294 679 605 268 994 403 705 769 634 1022 502 683 517
## 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
## 279 593 400 318 678 643 421 344 337 15 1001 593 278 373 1017 397
## 82 83 84 85 86 87 88 89 90 91 92 93 94 95
## 272 163 168 336 356 253 569 498 108 210 36 40 49 199
# Possible de retirer certains départements
# cassini_reduite <- subset(cassini, departement_1999 != "2A" & departement_1999 != "2B" & departement_1999 != "73" & departement_1999 != "74")
# table(cassini_reduite$departement_1999)
# On peut aussi utiliser la colonne "intendances_types"
table(cassini$intendances_types)
##
##
## 2
## intendance
## 41322
## intendance,intendance
## 962
## intendance,intendance,intendance
## 21
## intendance,souveraineté étrangère
## 16
## souveraineté étrangère
## 1025
## souveraineté étrangère,intendance
## 26
## souveraineté partagée ou contestée,intendance
## 15
# On décide d'enlever les territoires qui, au départ, étaient au moins en partie sous souveraineté étrangère
cassini_reduite <- subset(cassini, intendances_types != "intendance,souveraineté étrangère" & intendances_types != "souveraineté étrangère" & intendances_types != "souveraineté étrangère,intendance" & intendances_types != "souveraineté partagée ou contestée,intendance")
# On enlève également les territoires perdus en 1870 (Alsace, Moselle)
cassini_reduite <- subset(cassini_reduite, departement_1999 != "57" & departement_1999 != "67" & departement_1999 != "68")
# table(cassini_reduite$departement_1999)
# Test pour ne sélectionner que l'Alsace-Moselle
# cassini_reduite <- subset(cassini, departement_1999 == "57" | departement_1999 == "67" | departement_1999 == "68")
# On cherche les noms des colonnes qui contiennent le motif "_info"
labels_data_pop <- colnames(cassini[grep(pattern = "_info", colnames(cassini), ignore.case = FALSE)])
# En l'absence de méta-données détaillées, on choisit de ne s'intéresser qu'aux communes dont la population est renseignée ou simplement lacunaire (devrait être renseignée). On postule que les autres indications désignent des communes n'existant pas à l'époque.
table (cassini_reduite$pop_an3_info)
##
## abs. adm. lac. pop si
## 215 31 136 36917 3102
label <- labels_data_pop [2] # Si besoin pour tests
evol_nbr_com <- data.frame() # Création d'un objet pour récupérer les résultats totaux
evol_nbr_com_reduit <- data.frame() # Création d'un objet pour récupérer les résultats de la base réduite
# Boucle pour exploiter les données date par date
for (label in labels_data_pop) {
annee <- substr(label, start =5, stop = nchar(label)-5) # On repère le n° de l'année en segmentant le label
sous_tableau <- subset(cassini, cassini[, label] == "pop" | cassini[, label] == "lac.") # On crée un sous-tableau comptant uniquement les communes dont la population nous intéresse, à l'année donnée
# sous_tableau <- subset(cassini, cassini[, label] == "pop") # Juste avec les populations connues
nbr_com <- nrow(sous_tableau) # On compte le nombre de communes
sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop" | cassini_reduite[, label] == "lac.") # On crée un sous-tableau comptant uniquement les communes dont la population nous intéresse, à l'année donnée
# sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop") # Juste avec les populations connues
nbr_com_reduit <- nrow(sous_tableau_reduit) # On compte le nombre de communes
i <- c(annee, nbr_com) # On compile les résultats totaux
i_reduit <- c(annee, nbr_com_reduit) # On compile les résultats totaux
evol_nbr_com <- rbind(evol_nbr_com, i, stringsAsFactors = FALSE)
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_reduit, stringsAsFactors = FALSE)
}
# On traite à la main les deux années 2011 et 2021
# Pour 2011, on fait la liste des CODGEO unique de 2021 et on multiplie par leur nombre de communes fusionnantes (donne le nombre de communes en 2011)
# Pas très propre mais pas l'énergie de faire mieux là...
CODGEO_2021 <- as.data.frame(unique(cassini$commune_mars_2021))
colnames(CODGEO_2021) <- "CODGEO_new"
CODGEO_2021_reduit <- as.data.frame(unique(cassini_reduite$commune_mars_2021))
colnames(CODGEO_2021_reduit) <- "CODGEO_new"
# On joint pour avoir le nombre de communes fusionnantes
CODGEO_2021 <- merge(df_new[c("CODGEO_new", "NbrComFus")], CODGEO_2021, by = "CODGEO_new", all.y = TRUE)
CODGEO_2021_reduit <- merge(df_new[c("CODGEO_new", "NbrComFus")], CODGEO_2021_reduit, by = "CODGEO_new", all.y = TRUE)
# Pour les communes non fusionnantes, on indique qu'il y en a une
CODGEO_2021$NbrComFus[is.na(CODGEO_2021$NbrComFus)] <- 1
CODGEO_2021_reduit$NbrComFus[is.na(CODGEO_2021_reduit$NbrComFus)] <- 1
i_2011 <- c(2011, sum(CODGEO_2021$NbrComFus))
i_2011_reduit <- c(2011, sum(CODGEO_2021_reduit$NbrComFus))
evol_nbr_com <- rbind(evol_nbr_com, i_2011)
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2011_reduit)
# Pour 2021, on liste simplement le nombre de CODGEO uniques de 2021 pour chacun des groupe
i_2021 <- c(2021, length(unique(cassini$commune_mars_2021)))
i_2021_reduit <- c(2021, length(unique(cassini_reduite$commune_mars_2021)))
evol_nbr_com <- rbind(evol_nbr_com, i_2021)
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2021_reduit)
colnames (evol_nbr_com) <- c("annees", "nbr_com")
colnames (evol_nbr_com_reduit) <- c("annees", "nbr_com")
evol_nbr_com$base <- "tout"
evol_nbr_com_reduit$base <- "tjr_fr"
evol_nbr_com <- rbind(evol_nbr_com, evol_nbr_com_reduit)
# evol_nbr_com[c(1,2), 1] <- c(1795, 1800) # On modifie l'intitulé pour faciliter la représentation graphique
evol_nbr_com$annees[evol_nbr_com$annees == "an3"] <- 1795
evol_nbr_com$annees[evol_nbr_com$annees == "an8"] <- 1800
evol_nbr_com[,1] <- as.numeric(evol_nbr_com[,1]) # On passe en numérique pour faciliter la représentation
evol_nbr_com[,2] <- as.numeric(evol_nbr_com[,2]) # Si on veut faire une seule colonne
ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com, group=base)) +
geom_line(aes(group = base, linetype = base)) +
scale_linetype(name = "Périmètre", labels = c("Territoires toujours français", "Toute base Cassini")) +
scale_x_continuous (breaks = seq(1780, 2030, 20)) +
labs(title="Évolution du nombre de communes", subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com, group=base)) +
geom_line(aes(group = base, linetype = base)) +
scale_linetype(name = "Périmètre", labels = c("Territoires toujours français", "Toute base Cassini")) +
ylim(0, 41000) +
labs(title="Évolution du nombre de communes", subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
rm(label, annee, sous_tableau, nbr_com, i, nbr_com_reduit, sous_tableau_reduit, i_reduit, i_2021, i_2021_reduit, CODGEO_2021, CODGEO_2021_reduit, i_2011, i_2011_reduit)
liste_dep <- sort(unique (cassini$departement_1999))
num_dep <- 88
for (num_dep in liste_dep) {
cassini_reduite <- subset(cassini, departement_1999 == num_dep)
nom_dep <- dep$LIBELLE[dep$CODE_DEPT == num_dep]
evol_nbr_com_reduit <- data.frame() # Création d'un objet pour récupérer les résultats de la base réduite
# Boucle pour exploiter les données date par date
for (label in labels_data_pop) {
annee <- substr(label, start =5, stop = nchar(label)-5) # On repère le n° de l'année en segmentant le label
sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop" | cassini_reduite[, label] == "lac.") # On crée un sous-tableau comptant uniquement les communes dont la population nous intéresse, à l'année donnée
# sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop") # Juste avec les populations connues
nbr_com_reduit <- nrow(sous_tableau_reduit) # On compte le nombre de communes
i_reduit <- c(annee, nbr_com_reduit) # On compile les résultats totaux
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_reduit, stringsAsFactors = FALSE)
}
# On traite à la main les deux années 2011 et 2021
# Pour 2011, on fait la liste des CODGEO unique de 2021 et on multiplie par leur nombre de communes fusionnantes (donne le nombre de communes en 2011)
# Pas très propre mais pas l'énergie de faire mieux là...
CODGEO_2021_reduit <- as.data.frame(unique(cassini_reduite$commune_mars_2021))
colnames(CODGEO_2021_reduit) <- "CODGEO_new"
# On joint pour avoir le nombre de communes fusionnantes
CODGEO_2021_reduit <- merge(df_new[c("CODGEO_new", "NbrComFus")], CODGEO_2021_reduit, by = "CODGEO_new", all.y = TRUE)
# Pour les communes non fusionnantes, on indique qu'il y en a une
CODGEO_2021_reduit$NbrComFus[is.na(CODGEO_2021_reduit$NbrComFus)] <- 1
i_2011_reduit <- c(2011, sum(CODGEO_2021_reduit$NbrComFus))
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2011_reduit)
# Pour 2021, on liste simplement le nombre de CODGEO uniques de 2021 pour chacun des groupe
i_2021_reduit <- c(2021, length(unique(cassini_reduite$commune_mars_2021)))
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2021_reduit)
colnames (evol_nbr_com_reduit) <- c("annees", "nbr_com")
evol_nbr_com <- evol_nbr_com_reduit
# evol_nbr_com[c(1,2), 1] <- c(1795, 1800) # On modifie l'intitulé pour faciliter la représentation graphique
evol_nbr_com$annees[evol_nbr_com$annees == "an3"] <- 1795
evol_nbr_com$annees[evol_nbr_com$annees == "an8"] <- 1800
evol_nbr_com[,1] <- as.numeric(evol_nbr_com[,1]) # On passe en numérique pour faciliter la représentation
evol_nbr_com[,2] <- as.numeric(evol_nbr_com[,2]) # Si on veut faire une seule colonne
# ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com)) +
# geom_line() +
# scale_x_continuous (breaks = seq(1780, 2030, 20)) +
# labs(title="Évolution du nombre de communes en Aveyron", subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
graphique <- ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com)) +
geom_line() +
ylim(0, max(evol_nbr_com$nbr_com)+50) +
scale_x_continuous (breaks = seq(1780, 2030, 20)) +
labs(title= paste0("Évolution du nombre de communes en ", nom_dep, " (", num_dep, ")"), subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
print(graphique)
rm(label, annee, nbr_com_reduit, sous_tableau_reduit, i_reduit, i_2021_reduit, CODGEO_2021_reduit, i_2011_reduit, graphique)
}
Pour certains départements, les fluctuations paraissent particulièrement brutales voire carrément incohérentes, par exemple lorsque d’un recensement sur l’autre on passe de plusieurs centaines de communes à… zéro.
Nécessité de regarder en détail les données des départements suivants :
Alpes-Maritimes (06) qui fait le yoyo ;
Charente (16) et la Loire-Atlantique qui n’ont aucune commune en 1836 mais stable avant et après ;
Côte-d’Or (21), qui perd presque 250 communes en 1836 (et les regagne ensuite) ;
Meurthe-et-Moselle (54) et Moselle (57) : évolutions très hachées ;
Orne (61) : n’a plus que 100 communes en 1831 et les regagne après ;
Savoie (73) et Haute-Savoie (74) : n’ont aucune commune en 1831, 1841 et 1851 (absence de transposition de recensements non français ?) ;
Vosges (88) : bizareries en 1851 (plus de communes) et 1872 (seulement une cinquantaine).
Étude exploratoire menée mi-juillet 2023. Laissée de côté à partir du moment ou boucle faite pour tous les départements.
# On sélectionne uniquement l'Aveyron
cassini_reduite <- subset(cassini, departement_1999 == "12")
evol_nbr_com_reduit <- data.frame() # Création d'un objet pour récupérer les résultats de la base réduite
# Boucle pour exploiter les données date par date
for (label in labels_data_pop) {
annee <- substr(label, start =5, stop = nchar(label)-5) # On repère le n° de l'année en segmentant le label
sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop" | cassini_reduite[, label] == "lac.") # On crée un sous-tableau comptant uniquement les communes dont la population nous intéresse, à l'année donnée
# sous_tableau_reduit <- subset(cassini_reduite, cassini_reduite[, label] == "pop") # Juste avec les populations connues
nbr_com_reduit <- nrow(sous_tableau_reduit) # On compte le nombre de communes
i_reduit <- c(annee, nbr_com_reduit) # On compile les résultats totaux
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_reduit, stringsAsFactors = FALSE)
}
# On traite à la main les deux années 2011 et 2021
# Pour 2011, on fait la liste des CODGEO unique de 2021 et on multiplie par leur nombre de communes fusionnantes (donne le nombre de communes en 2011)
# Pas très propre mais pas l'énergie de faire mieux là...
CODGEO_2021_reduit <- as.data.frame(unique(cassini_reduite$commune_mars_2021))
colnames(CODGEO_2021_reduit) <- "CODGEO_new"
# On joint pour avoir le nombre de communes fusionnantes
CODGEO_2021_reduit <- merge(df_new[c("CODGEO_new", "NbrComFus")], CODGEO_2021_reduit, by = "CODGEO_new", all.y = TRUE)
# Pour les communes non fusionnantes, on indique qu'il y en a une
CODGEO_2021_reduit$NbrComFus[is.na(CODGEO_2021_reduit$NbrComFus)] <- 1
i_2011_reduit <- c(2011, sum(CODGEO_2021_reduit$NbrComFus))
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2011_reduit)
# Pour 2021, on liste simplement le nombre de CODGEO uniques de 2021 pour chacun des groupe
i_2021_reduit <- c(2021, length(unique(cassini_reduite$commune_mars_2021)))
evol_nbr_com_reduit <- rbind(evol_nbr_com_reduit, i_2021_reduit)
colnames (evol_nbr_com_reduit) <- c("annees", "nbr_com")
evol_nbr_com <- evol_nbr_com_reduit
# evol_nbr_com[c(1,2), 1] <- c(1795, 1800) # On modifie l'intitulé pour faciliter la représentation graphique
evol_nbr_com$annees[evol_nbr_com$annees == "an3"] <- 1795
evol_nbr_com$annees[evol_nbr_com$annees == "an8"] <- 1800
evol_nbr_com[,1] <- as.numeric(evol_nbr_com[,1]) # On passe en numérique pour faciliter la représentation
evol_nbr_com[,2] <- as.numeric(evol_nbr_com[,2]) # Si on veut faire une seule colonne
ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com)) +
geom_line() +
scale_x_continuous (breaks = seq(1780, 2030, 20)) +
labs(title="Évolution du nombre de communes en Aveyron", subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
ggplot(data=evol_nbr_com, aes(x=annees, y=nbr_com)) +
geom_line() +
ylim(0, 600) +
scale_x_continuous (breaks = seq(1780, 2030, 20)) +
labs(title="Évolution du nombre de communes en Aveyron", subtitle="1793-2021", x="", y = "", caption="Sources : cassini.ehess.fr, INSEE")
rm(label, annee, nbr_com_reduit, sous_tableau_reduit, i_reduit, i_2021_reduit, CODGEO_2021_reduit, i_2011_reduit)